#!/bin/bash

# SmartInput Mobile 生产环境启动脚本
# 使用构建后的dist目录启动应用

set -e

# 配置变量
DIST_DIR="dist"
PORT=${PORT:-3003}
HOST=${HOST:-"0.0.0.0"}

# 颜色输出
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m'

echo -e "${BLUE}启动SmartInput Mobile应用...${NC}"

# 检查dist目录
if [[ ! -d "$DIST_DIR" ]]; then
    echo "错误: dist目录不存在，请先构建应用"
    echo "运行: npm run build 或 pnpm run build"
    exit 1
fi

# 检查index.html
if [[ ! -f "$DIST_DIR/index.html" ]]; then
    echo "错误: dist目录中缺少index.html文件"
    exit 1
fi

echo -e "${GREEN}✓ dist目录检查通过${NC}"

# 尝试不同的启动方式
if command -v serve &> /dev/null; then
    echo "使用serve启动应用..."
    serve -s "$DIST_DIR" -l "$PORT" -n "smartinput-mobile"
elif command -v http-server &> /dev/null; then
    echo "使用http-server启动应用..."
    http-server "$DIST_DIR" -p "$PORT" -a "$HOST" -c-1 --cors
elif command -v python3 &> /dev/null; then
    echo "使用Python3启动应用..."
    cd "$DIST_DIR"
    python3 -m http.server "$PORT" --bind "$HOST"
elif command -v python &> /dev/null; then
    echo "使用Python启动应用..."
    cd "$DIST_DIR"
    python -m http.server "$PORT" --bind "$HOST"
else
    echo "错误: 未找到可用的静态文件服务器"
    echo "请安装以下任一工具："
    echo "  npm install -g serve"
    echo "  npm install -g http-server"
    echo "  或确保Python已安装"
    exit 1
fi
